::|CONTENTS
- Channel Commands
- Kudos
- Old Bot
- failure_lambda
- PlugBot
BotB is the multifunctional IRC Bot for the
IRC channel #botb on irc.esper.net and displays events that happen on the BotB website, such as logins, new entry uploads,
BotBr level ups, and a plethora various of misc stuff.
BotB Is following the original rules of Robots as described by Isaac Asimov:
- A robot may not injure a human being or, through inaction, allow a human being to come to harm.
- A robot must obey any orders given to it by human beings, except where such orders would conflict with the First Law.
- A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
Channel Commands
The command prefix is !
Available commands: battle, botbr, entry, giphy, google, help, image, imdb, imgur, kudos, levelup, lyceum, ohb, top, pix, roll, ultrachord, unknown, uptime, wikipedia, youtube
!battle: displays a list of all currently running battles
!botbr <name>: searches for a specific BotBr
!entry <name>: searches for a specific entry
!giphy <text>: searches on giphy with the given text and returns the first result
!google <text>: searches on google with the given text and returns the first result
!help: Displays all available commands
!image <text>: searches on google images with the given text and returns the first result
!imdb <text>: searches on imdb with the given text and returns the first result
!imgur <text>: searches on imgur with the given text and returns the first result
!kudos <text>: Displays the amount of kudos for the given text
!levelup <BotBr>: Calculates for a given BotBr, when they'll reach the next level and also when they might reach level 33
!lyceum <name>: searches for a specific Lyceum Article
!ohb: Shows if an OHB is currently running (or not, because the command is currently (June 2019) not working. Use !battle instead (or check the fucking site))
!top: Displays the top 5 BotBr by points (Use !top <class> for a list of a specific class!)
!pix: returns an error........ (seriously, i have no idea what it should do, but its definitely not working atm lol)
!roll <number (default is 10)>: rolls a number between 1 and the number that is passed in the command. also supports dice notation!
!ultrachord <chord notes>: returns a link to an mp3 file with the chord specified (actually transposed by a few notes)
!unknown: you are in need of !help
!uptime: returns how long the bot is running since the last restart
!wikipedia <text>: searches on wikipedia with the given text and returns the first result
!youtube <text>: searches on youtube with the given text and returns the first result
Kudos
A good way to show respect or disrespect for something! Ending a message with ++ or -- adds / substracts kudos. (max length is 32!)
Please do everyone a favour and DO NOT spam kudos. It's pointless and just a gimmick. thanks!
Old Bot
Halfway through 2018, the initial Bot by Strobe died (rip) and was replaced by puke's version! Just for the sake of history and filing, here is the old stuff as well:
Channel Commands
BotB Bot has various helpful commands.
When a link is posted, the bot will give information for that page. It will also give extra information for YouTube links. This is regardless of where the appears in the message.
"!ohc" or "!ohb" gives the current OHC status on BotB. This shows time left to submit and format of OHC. If there is more than one OHB going on at the same time, the last one to start is displayed.
"!compo" or "!battle" lists all occurring compos on BotB, as well as links to them.
"!user (string)" or "!botbr (string)" returns a URL for a BotBr's profile, where (string) is the BotBr's name.
"!entry (string)" will return a link to a BotB entry with a title/filename that contains (string).
"!pix (string)" or "!pic (string)" returns a URL for a
BotBr picture where (string) is the IRC nickname of a BotBr. If you want to use a pic for your nick, ask Strobe.
"!g (string)" returns a URL for a
Google search where (string) is your search query.
"!gi (string)" or "!image (string)" returns the first image it can find related to the input (string).
"!i (string)" returns a URL for a
IMdB search where (string) is your search query.
"!levelup (botbr)" returns botbr's current level, current points, calculated points per year, estimated time to level up, estimated time to reach GRAND WIZARD STATUS of level 33, current boons, and calculated boons per year. (Note: this command takes 30-60 seconds to return anything because it is very inefficient and has to download a bunch of html data!!!!!!!!!)
"!w (string)" returns a URL for a
Wikipedia article where (string) is your search query.
"!y (string)" returns a URL for the first hit of (string) on YouTube.
"!panda" displays Panda Lyceum page.
"!chord" command deprecated, use !ultrachord
UPDATE 2013 on !chord
------------------------------------
There is now a !ultrachord beta command that is going to replace the old !chord command.
it works like this:
!ultrachord C3 D#3 G3
This will produce a choir in C minor, you can change instruments on fly if
you set notes to "trem" "brass" "choir", choir is default.
Notes can range from C0 up to C7
if number is omitted it will pick octave 2.
-------------------------------------------------------------------------------------------
"!help" or "!botb" will link you here.
It's recommended to use the latter trigger as TMAnna will give you a nice wall of text if you use the former!
"!uptime" returns the uptime of the bot's machine.
Borken Commands
Beginning a message with "what is" used to return a result from Wolfram|Alpha.
Beginning a message with "interpret" used to return a result from Urban Dictionary.
PM'ing "alchemy" used to generate a ZIP'd pack of WAVs, and PM'ing "alchemydpcm" used to generate a ZIP'd pack of DMCs.
PM Commands
BotB Bot can also has some PM commands.
sending OHC_AddMe to BotB on IRC will put you on the OHC Spamlist and will highlight you when there is an ongoing OHC.
sending OHC_RemoveMe to BotB on IRC will remove your nick from that list.
OHC_End_AddMe will add you to the OHC End list, which will highlight you when there is 2 minutes left of an OHC.
OHC_End_RemoveMe will remove your nick from that list.
Memo Functions
!memo write/read number text
For example !memo write 0 "Hello there!" will be stored at place 0 in your memobook, for retrieval with !memo read 0
Uploading Files
If you DCC send a file to BotB it will display it in the main channel #botb , many file formats supported; not executables and some others.
Transcoding: Sending an NSF, AMD (AMusic Adlib), SAP, SPC, SID, and FFS file will also output a link to a converted MP3 audiofile.
Sending a .BMP file will display the original file as well as an HTML/ASCII representation of that Bitmap.
Sending a .MML file will compile it to a NSF with PPMCK and display a link to the compiled file in the channel.
Viewing Uploaded Files
For Web Interface of the uploaded files (through DCC)
go to (http://upload.rotfl.at), or to (http://lmao.rotfl.at/upload) to browse without frames that provides a pretty logo at the top.
Users may see what they upload by addressing the filename after the username:
For example:
http://lmao.rotfl.at/upload/*user*/*filename.ext*
(Asterisks are not to be entered; but are a representation of, "enter whatever you want within the format.")
Trivia Bot
BotB has a trivia counterpart, BotB-Trivia! If you want a trivia contest, nag Strobe to have the trivia bot join another channel other than #botb .
Behind the Hostmask
The BotB Bot server runs on an i3 Sandybridge CPU with 6GB RAM.
failure_lambda
This IRC bot was made by failure_{supreme,vigorous,moderate}. It's not further developed and currently offline. All information from now on are just here for archiving reasons!
Please note that the bot will NOT reply to more than 1 command every five seconds.
!unset
Is there a command that's getting spammed or abused? Just !unset it!
<failure> nice
<failure_lambda> nice
<failure> !unset ice
<failure> nice
<failure> :)
!set
Let's say you want to link the current synclisten url, just by saying !sync in chat, for an hour.
!set sync 60 To join the synclisten, check
http://example.com
Now everyone can just write !sync:
<failure_success> !sync
<failure_lambda_> To join the synclisten, check
http://example.com
This is useful to temporarily define any command, right from irc!
!ohbpls
!ohbpls 100
This command lets you inform the bot that you are available to do an ohb for 100 minutes. Example output:
<failure_success> !ohbpls 100
<failure_lambda_> failure_success want to ohb
<failure_lambda_> right NOW:[1] 60:[1] 120:[0] (type !pls help for more info c: )
as you can see, it says that one user is available if the ohb starts now, or in 60 minutes, but not in two hours!
What if you change plans and aren't available anymore?
<failure_success> !ohbpls -1
<failure_lambda_> right NOW:[0] 60:[0] 120:[0] (type !pls help for more info c: )
You have been removed from the list :)
If you just want to know how many people are available, simply:
<hehheh> !ohbpls
<failure_lambda_> failure_success want to ohb
<failure_lambda_> right NOW:[1] 60:[1] 120:[0] (type !pls help for more info c: )
!bf
This is pretty dumb. Converts the output of a brainfuck program into a sound file. Example command:
<failure_success> !bf ++++++++++ [ > ++++++++++ [ > ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++[ > . +++ < - ] ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ [ > . --- < - ] < - ] < - ]
PlugBot
This abstract is currently only of historical interest, since PlugBot has taken an indefinite leave of absence from IRC.
PlugBot is an invention of
Jangler which coexists with
Strobe's
IRC bot on #botb.
Commands can be invoked by any non-alphanumeric character followed by the command name at the start of a message. Using too many commands in a short time span in #botb may get you automatically kicked, and further abuse will get you a 5-minute kickban. Therefore, if you'd like to query PlugBot freely you may prefer to do so in private message or in #plugbot.
Command list
This command list may not necessarily be up-to-date, so check the output of the !commands command to see the current list of PlugBot's capabilities.
-- Meta-commands --
!apropos keywords
Lists PlugBot's commands that are relevant to
keywords.
!commands
Lists all of PlugBot's commands.
!plugbot
Links to this page.
!whatis command
Gives a short help message for
command.
-- BotB-specific commands --
!badge format OR
!hosts format
Lists BotBrs who have a badge for
format.
!bgrep query
If
query is an integer, links to the BotB battle with that ID number. Otherwise, links to the battle whose title most closely matches
query.
!egrep query
If
query is an integer, links to the BotB entry with that ID number. Otherwise, links to the entry whose title most closely matches
query.
!fact
Gives a random statistic about BotB.
!joogle botbr
Links to
botbr's
Joogle metaprofile.
!ladder
Links to the Joogle ladder page.
!lgrep query OR
!lyceum query
Links to the BotB lyceum article with title most closely matching
query. This command is
slow because the lyceum is slow.
!markov nick
Prints a
Markov chain-generated
IRC message from
nick (or from a random nick if the nick was not found or not specified). Due to limitations in the IRC log format, this will only work for nicks of 11 characters or less.
!tag tag
Links to the BotB tag page for
tag.
!tgrep tag
Links to the BotB entry tagged with the largest instance of
tag.
-- Auxiliary commands --
!ddg query
Gives the resulting URL from a
DuckDuckGo search for
query. Check out the list of
"bangs" you can use to directly search many other sites.
!define word (category)
Gives the definition of
word from
Wiktionary. If the optional parameter
category is given (enclosed in parentheses), PlugBot will try to find a definition relevant to that category.
!hz pitch
Calculates the frequency of
pitch in hertz.
pitch should be specified in
scientific pitch notation.
!link pattern
Searches an IRC log for the last URL matching
pattern.
!nsfmania
Tells the remaining time for the current NSFMania submission or voting period.
!ruby expression
Evaluates
expression in a restricted
Ruby environment.
!scgrep query
Gives the first SoundCloud track from a search for
query.
!shorten url
Shortens
url using Google's URL shortener (goo.gl).
!wolfram query (info)
Gives the result from Wolfram|Alpha for
query. If the optional parameter
info is given, PlugBot will try to find a result with a matching title.
-- secret commands? --
Contributing
Writing a new command for PlugBot is dead simple. Simply create an executable script file (for Python, Ruby, Bash, et cetera). The script will be executed when a command with the script's filename is invoked. The channel, nick, and parameter string of the command invocation are given as the first three arguments to the program, and the script's standard output is redirected to IRC. If you've written a command you'd like to be included, just talk to Jangler on
IRC.
For a !whatis help message to be printed, include a comment in the script in the format "HELP: <help message>".
Confused? See the
source code for the !tag command.